package com.cskaoyan.javase.io._4data;

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 数据流
 * 数据流的作用是操作Java基本数据类型数据。
 * 但这个操作Java基本数据类型和大家理解的操作基本数据类型数据可能会有一定的区别。
 *
 * 数据流的作用是直接将Java程序中的基本数据类型二进制字节数据,写到一个文件(或者从文件中读取出来)
 *
 * DataOutputStream,是数据字节输出流,它的作用是将一个Java程序中的基本数据类型变量的二进制数据写到输出流中
 * 所以数据字节输出流在操作数据时,绝大多数情况下,写入的数据,人肉眼是无法分辨的
 * 这个东西不是给人肉眼看的,而是给数据字节输入流去读的
 *
 * 数据字节输入/输出流总是成对出现,单独出现一般意义不大
 *
 * @since 16:03
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) throws IOException {
        /*FileOutputStream out = new FileOutputStream("a.txt");
        out.write(97);
        out.write("97".getBytes());
        out.close();*/

        // DataOutputStream(OutputStream out)	创建一个新的数据输出流，将数据写入指定基础输出流
        DataOutputStream out = new DataOutputStream(new FileOutputStream("a.txt"));
        // out.write(97);

        // writeXxx(Xxx v)	void	其中Xxx表示四类八种基本数据类型，表示将对应JVM当中基本数据类型的二进制数据直接写入此输出流。
        // Java中的int类型97的二进制数据,经过utf-8解码得到的就是字符'a'
        // out.writeInt(97);
        // out.writeInt(98);
        // out.writeInt(99);

        // out.write("0.1".getBytes());
        // Java中的double类型0.1的二进制数据写人一个文件中,它需要占用8个字节的内容空间,64位
        out.writeDouble(0.1);
        out.writeBoolean(true);


        out.close();

    }
}
